Block structure and robot cooperation methods and apparatuses

ABSTRACT

Apparatuses and methods associated with block structure and robot cooperation are disclosed herein. In embodiments, a block apparatus may include a block structure-robot coordination module to cooperate with one or more robots to affect operations of the one or more robots relative to at least a block structure which the block apparatus is a member. The block apparatus may further include a housing that houses the block structure-robot coordination module, with features to mate the block apparatus with one or more other blocks to cause the block apparatus to become a member of the block structure. In embodiments, a robot may include control module to control a number of actuators to operate one or more features to perform one or more operations relative to the block structure. Other embodiments may be described and/or claimed.

TECHNICAL FIELD

The present disclosure relates to the fields of electronics, robotics,and toys. More particularly, the present disclosure relates to blockstructure and robot cooperation methods and apparatuses.

BACKGROUND

The background description provided herein is for the purpose ofgenerally presenting the context of the disclosure. Unless otherwiseindicated herein, the materials described in this section are not priorart to the claims in this application and are not admitted to be priorart by inclusion in this section.

Smart blocks are known in the art. Today, many smart blocks will respondto assembly events by making sounds and activating lights. Typically,these blocks have connection points that allow them to detect how theyare assembled.

Robots, such as drones, are also known in the art. Lego® Mindstorm® kitsallow formation of complex robots and include relatively simpleprogramming interfaces for ordinary users (mainly children) to programthe assembled robots to perform basic functions. Depending on whatblocks are used to form the robot, it may be programmed to behave indifferent ways.

However, there are no known interactions between block structures formedwith the smart blocks, and programmable robots.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the block structure and robot cooperation methods andapparatuses of the present disclosure will be readily understood by thefollowing detailed description in conjunction with the accompanyingdrawings. To facilitate this description, like reference numeralsdesignate like structural elements. Embodiments are illustrated by wayof example, and not by way of limitation, in the figures of theaccompanying drawings.

FIG. 1 illustrates a perspective view of an example block structure andan example robot incorporated with the block structure and robotcooperation technology of the present disclosure, according to variousembodiments.

FIG. 2 illustrates an example main process of a base block, according tovarious embodiments.

FIG. 3 illustrates an example object recognition process, according tovarious embodiments

FIG. 4 illustrates an example data structure suitable for use torepresent a block structure, according to various embodiments.

FIG. 5 illustrates an example block structure-robot cooperation process,according to various embodiments.

FIG. 6 illustrates an example block structure-robot cooperation ruledatabase, according to various embodiments.

FIG. 7 illustrates an example process for operating a robot, accordingto various embodiments.

FIG. 8 illustrates an example computing device suitable for use topractice aspects of the present disclosure, according to variousembodiments.

FIG. 9 illustrates an example storage medium having instructions tocause an apparatus to practice aspects of the present disclosure,according to various embodiments.

DETAILED DESCRIPTION

Apparatuses and methods associated with block structure and robotcooperation are disclosed herein. In embodiments, a block apparatus mayinclude a block structure-robot coordination module to cooperate withone or more robots to affect operations of the one or more robotsrelative to at least a block structure which the block apparatus is amember. The block apparatus may further include a housing that housesthe block structure-robot coordination module, with features to mate theblock apparatus with one or more other blocks to cause the blockapparatus to become a member of the block structure.

In embodiments, a robot may include a plurality of actuators to operatea number of features of the robot; and a communication interface toreceive from a block structure one or more operation commands inassociation with performance of one or more operations relative to theblock structure. The robot may also include a control module coupledwith the plurality of actuators and the communication interface tocontrol the actuators to perform the one or more operations relative tothe block structure.

In the following detailed description, reference is made to theaccompanying drawings which form a part hereof wherein like numeralsdesignate like parts throughout, and in which is shown by way ofillustration embodiments that may be practiced. It is to be understoodthat other embodiments may be utilized and structural or logical changesmay be made without departing from the scope of the present disclosure.Therefore, the following detailed description is not to be taken in alimiting sense, and the scope of embodiments is defined by the appendedclaims and their equivalents.

Aspects of the disclosure are disclosed in the accompanying description.Alternate embodiments of the present disclosure and their equivalentsmay be devised without parting from the spirit or scope of the presentdisclosure. It should be noted that like elements disclosed below areindicated by like reference numbers in the drawings.

Various operations may be described as multiple discrete actions oroperations in turn, in a manner that is most helpful in understandingthe claimed subject matter. However, the order of description should notbe construed as to imply that these operations are necessarily orderdependent. In particular, these operations may not be performed in theorder of presentation. Operations described may be performed in adifferent order than the described embodiment. Various additionaloperations may be performed and/or described operations may be omittedin additional embodiments.

For the purposes of the present disclosure, the phrase “A and/or B”means (A), (B), or (A and B). For the purposes of the presentdisclosure, the phrase “A, B, and/or C” means (A), (B), (C), (A and B),(A and C), (B and C), or (A, B and C).

The description may use the phrases “in an embodiment,” or “inembodiments,” which may each refer to one or more of the same ordifferent embodiments. Furthermore, the terms “comprising,” “including,”“having,” and the like, as used with respect to embodiments of thepresent disclosure, are synonymous.

As used herein, the term “module” may refer to, be part of, or includean Application Specific Integrated Circuit (ASIC), an electroniccircuit, a processor (shared, dedicated, or group) and/or memory(shared, dedicated, or group) that execute one or more software orfirmware programs, a combinational logic circuit, and/or other suitablecomponents that provide the described functionality.

Referring now FIG. 1, wherein a block diagram illustrating a perspectiveview of an example block structure and an example robot incorporatedwith the technology of the present disclosure, according to variousembodiments, is shown. Depicted in FIG. 1 are: example block structure102, a model the Tower Bridge of London, and example robot 104, a drone(or unmanned aerial vehicle). As will be described in more detail below,block structure 102 and robot 104 may be incorporated with teachings ofthe present disclosure to cooperate with one another. In particular,block structure 102 and robot 104 may be incorporated with the teachingsof the present disclosure for robot 104 to perform one or moreoperations relative to block structure 102, e.g. flying 104 underneaththe top span and in between the two towers.

Block structure 102 may be assembled with a number of smart blocks 108and a base block 112. For example, smart blocks 108 may include the topportion of one of the towers, a top, mid or bottom section of the tower,a suspension cable, the top span, the main span and so forth. For theillustrated example embodiment, base block 112 may be the base of one ofthe towers. In alternate embodiments, base block 112 may be any block ofblock structure 102. Each of smart blocks 108 may include a body havingfeatures that allow the smart block to be mated with one or more ofother smart blocks to form block structure 102. Further, in embodiments,each of smart blocks 108 may include a communication interface (notshown) to communicate to base block 112, directly or via another smartblock, of its inclusion in block structure 102. Additionally, thecommunication interface of each smart block 108 may also facilitatecommunication of the configuration, shape and/or size of the smartblock.

Similarly, base block 112 may include body 130 having features thatallow base block 112 to be mated with one or more of other smart blocksto become a member of block structure 102. Further, base block 112 mayinclude a communication interface 128 to receive communications fromsmart blocks 108. In embodiments, the communication interface of a smartblock and communication interface 128 may be configured to support basicwired serial communication or wireless communication, such as near fieldcommunication (NFC), with smart blocks 108.

In embodiments, communication interface 128 may further support wirelesscommunication with robot 104, another base block of another blockstructure (not shown) (e.g., a model of the Tower of London), or a cloudcomputing server (not shown). Thus, communication interface 128 may befurther configured to support Bluetooth®, WiFi, 3G/4G/LTE and/or otherwireless communication protocols/methodologies.

Additionally, base block 112 may include block structure (BS)-Robotcooperation module 122 configured to cooperate with robot 104 to affectoperation of robot 104 relative to block structure 102, of which baseblock 112 is a member. As will be described in more detail below,BS-Robot cooperation module 122 may be configured to cooperate withrobot 104 to affect operation of robot 104 relative to block structure102, based at least in part on the state of block structure 102, e.g.,whether the entire block structure 102 has been assembled, or whetherthe block structure 102 has been substantially assembled to include thetop span. In embodiments, the state of block structure 102 may includeidentifications of member blocks 108, and the mating manner and/ormating order of member blocks 108.

In embodiments, base block 112 may include BS-Robot database 124 havinga number of cooperation rules. BS-Robot cooperation module 122 may beconfigured to cooperate with robot 104 to affect operation of robot 104relative to block structure 102, in accordance with one or morecooperation rules retrieved from BS-Robot database 124. In alternateembodiments, BS-Robot database 124 may be disposed in a proximatelylocated portable computing device (not shown) (such as a smartphone or acomputing tablet), with BS-Robot cooperation module 122 accessing theremote BS-Robot database 124 via communication interface 128 having therequisite communication support. In still other embodiments, BS-Robotdatabase 124 may be disposed in a remote cloud computing server, withBS-Robot cooperation module 122 accessing the remote BS-Robot database124 via communication interface 128 having the requisite communicationsupport, with or without going through a proximately located portablecomputing device (not shown).

In embodiments, in lieu of smart blocks 108 having communicationinterfaces to communicate their inclusion into block structure 102, orin addition to smart blocks 108 having such communication interfaces,base block 122 may further include object recognition module 126configured to receive one or more images, via communication interface128, and analyze the one or more images to determine the state of blockstructure 102, and/or the state of block structure 102 in conjunction torelated neighboring block structures (such as, a model of the Tower ofLondon). In embodiments, the one or more images may be provided by anindependent 2D or 3D camera (not shown), or a 2D or 3D cameraincorporated with robot 104.

In embodiments, BS-Robot cooperation module 122 may be implemented inhardware, software or combination of both. Example hardwareimplementations may include application specific integrated circuits(ASIC) or programmable logic, such as, field programmable gate arrays(FPGA) programmed with the operating logic of BS-Robot cooperationmodule 122 described herein. Example software implementations mayinclude implementations in assembler or high level languages that can becompiled into the machine instructions supported by various targetprocessors. For software implementations, base block 112 may furtherinclude the target processors and associated memory.

Still referring to FIG. 1, robot 104, in embodiments, may includecommunication interface 138 configured to communicate with base block112. Further, robot 104 may further include sensors 132, actuators 134and control module 136. Actuators 134 may be configured to operate anumber of features of robot 104 to perform a number of operations. Forexample, for the example drone robot 104, the features may include anumber of rotors, and actuators 134 may be configured to control therotation speed of the rotor blades, the tilt/angle of the rotors, and soforth. Control module 136 may be configured to control actuators 134 tooperate the various features, to cause robot 104 to perform theoperations relative to block structure 102. Sensors 132 may beconfigured to provide various sensor data, and control module 136 may befurther configured to control actuators 134, in view of the sensor data.In embodiments, sensors 132 may include one or more cameras,accelerometers, gyroscopes, altimeters, and so forth.

These and other aspects of block structure and robot cooperationtechnology of the present disclosure will be further described belowwith references to FIGS. 2-7. Before further describing the technology,it should be noted that the block structure and robot cooperationtechnology is not limited to the example block structure and robot ofFIG. 1. It will be readily apparent from the description that the blockstructure and robot cooperation technology may be practiced with a widerange of block structures and robots. For examples, block structure 102may be a landing pad, a castle, a space station, an aircraft career, andso forth; whereas robot 104 may be a spaceship, a fighter plane, atransformer, a tank, an amphibious ship, an automobile, and so forth. Asa further and non-limiting example, block structure 102 may be a productin the process of being assembled in an automated or semi-automatedassembly line, and robot 104 may be one of the assembly robots of theassembly line. In this further non-limiting example, structure 102 mayaffect the actions taken by robot 104 relative to structure 102, in viewof the state of structure 102, which may include the member componentsincluded and/or the manner/order the member components are included.

Referring now FIG. 2, wherein an example main process of a base block,according to various embodiments, is illustrated. As shown, process 200for cooperating with a robot, by a base block, may include operations tobe performed at operation blocks 202-210. Process 200 may be performede.g., by BS-Robot cooperation module 122 of FIG. 1. In alternateembodiments, process 200 may include more or less operations, or withthe operations performed in different order.

Process 200 may start at operation block 202. At operation block 202,information may be received from the communication interface of the baseblock or from the object recognition module of the base block. Asdescribed earlier, information received from the communication interfaceof the base block and/or from the object recognition module of the baseblock may include information about other smart blocks being or havingbeen included or assembled as part of the block structure, which thebase structure is a member. In response to receipt of such informationabout other smart blocks being included/assembled as part of the blockstructure, process 200 may proceed to operation block 204. At operationblock 204, the state of the block structure may be updated.

An example process suitable for use to recognize objects in an image toenable an object recognition module to provide information about othersmart blocks having been included or assembled as part of the blockstructure will be later described with references to FIG. 3. An exampledata structure suitable for use to represent a block structure, andoptionally, the neighboring block structures will be later describedwith references to FIG. 4.

Continuing to refer to FIG. 2, as shown, information received from thecommunication interface of the base block may also include informationabout other neighboring or proximally disposed block structures. Anexample of a neighboring block structure to the example model TowerBridge block structure of FIG. 1 may be a block model of the Tower ofLondon, and/or a block model of the City Hall of London. In response toreceipt of such information about other neighboring or proximallydisposed block structures, process 200 may proceed to operation block206. At operation block 206, the state of the neighboring or proximallydisposed block structures may be updated.

Still referring to FIG. 2, information received from the communicationinterface of the base block may also include information from therobots. In response to receipt of such information about other robots,process 200 may proceed to operation block 208. At operation block 208,the process for cooperating with a robot may be performed. An exampleprocess 500 for cooperating with a robot will be later described withreferences to FIG. 5.

On performance of the operations at operation block 204-208, process 200may proceed to operation block 210. At operation block 210, process 200may return to operation block 202, and await further inputs from othersmart blocks, the object recognition module, other block structures orthe robots, and proceed therefrom as earlier described.

Referring now to FIG. 3, wherein an example object recognition processsuitable for use to recognize and identify objects in an image,according to various embodiments, is illustrated. In alternateembodiments, other object recognition process may be used instead. Asshown, process 300 for recognizing and identifying objects in an imagemay include operations at operation blocks 302-304. Process 300 may beperformed e.g., by object recognition module 126 of FIG. 1. In alternateembodiments, process 300 may include more or less operations, or withthe operations performed in different order.

Process 300 may start at operation block 302. At operation block 302, areceived image may be partitioned into a number of regions. Next atoperation block 304, each region may be analyzed to recognize andidentify objects within the region. Operation block 304 may be repeatedas many times as necessary to have each region analyzed, and the objectstherein identified. Further, in the performance of each iteration ofoperation block 304 for a region, process 300 itself may be recursivelyperformed to have the region further sub-divided, and the sub-regionsiteratively analyzed to recognize and identify objects within thesub-regions. Process 300 may be recursively performed for any number oftimes, depending on computing resource available and/or accuracydesired. On completion of analysis of all the regions/sub-regions,process 300 may end.

In embodiments, smart blocks 108 may be provided with visual markers tofacilitate their recognition. The visual markers may be or may not behumanly visible and/or comprehensible. As part of the object recognitionprocess, the configuration, shape and/or dimensions of the smart blocks(including dimensions between one or more smart blocks, such as tunnelsand/or the space between inter-spans formed by the smart blocks) may beidentified.

Referring now to FIG. 4, wherein an example data structure suitable foruse to represent a block structure, according to various embodiments isshown. In alternate embodiments, other data structure may be employed torepresent a block structure. As shown, example data structure 400 may bea tree structure having a number of nodes connected by branches. Inparticular, example data structure 400 may include a root node 402 torepresent the base block. One or more other nodes 404 representing othersmart blocks directly connected the base block may be linked to rootnode 402. Similarly, other nodes 406 representing still other smartblocks directly connected to the smart blocks represented by nodes 404may be respectively linked to nodes 404, and so forth. In embodiments,information about the smart nodes, such as configuration, shape, sizeand so forth, may be stored at the respective nodes 402-406. Thus, bytraversing example data structure 400, BS-Robot cooperation module 122may determine a current state of the represented block structure.

Additionally, if the base block is provided with information aboutrelated or proximately disposed adjacent block structures, nodes 408representing the base blocks of these other blocks structures may belinked to root node 402. According, for these embodiments, likewise, bytraversing example data structure 400, BS-Robot cooperation module 122may further determine the current states of the represented neighboringblock structures.

Referring now to FIG. 5, wherein an example block structure-robotcooperation process, according to various embodiments, is illustrated.As shown, process 500 for cooperating with a robot, by a blockstructure, may include operations at operation blocks 502-516. Process500 may be performed e.g., by BS-Robot cooperation module 122 of FIG. 1.In alternate embodiments, process 500 may include more or lessoperations, or with the operations performed in different order.

Process 500 may start at operation block 502. At operation block 502,pairing information may be received from a robot. Next at operationblock 504, a process may be undertaken to pair the robot with the blockstructure. The pairing may be performed using any one of a number ofpairing processes known in the art.

Then at operation block 506, cooperation rules for the paired robot maybe retrieved from the cooperation rule database 124. FIG. 6 illustratesan example block structure-robot cooperation rule database 124′,according to various embodiments. As shown, example blockstructure-robot cooperation rule database 124′ may include table 600having a number of rows 602. Each row 602 may include the cooperationrule 606 for a robot 604. For example, for Robot R1, the cooperationrule:

{IF Structure A is complete,    Structure B is complete and linked, and      Structure C is complete and linked, cause Robot to do X;      Else cause Robot to do Y; Else cause Robot to do Z.}

Assuming Robot R1 is the example drone 104 of FIG. 1, Structure A is amodel of the Tower Bridge 102 of FIG. 1, Structure B is a model of theTower of London (not shown), and Structure C is a model of London CityHall (not shown), and all 3 model structures are completed and linked,“do X” may include having the drone fly over and circle each of thethree structures for x times following a particular pattern. On theother hand, if only the models of the Tower Bridge and Tower of Londonare completed and linked, “do Y” may include having the drone fly overand circle each of the two structures for y times following a differentpattern. Still further, if only the model of the Tower Bridge iscompleted, “do Z” may include just having the drone fly through theTower Bridge, underneath the top span, in between the towers, for ztimes.

Referring back to FIG. 5, next, at operation block 508, the state of theblock structure (and the neighboring block structure, if any) may bedetermined. As described earlier, the state(s) may be determined bye.g., traversing a data structure, such as data structure 400 of FIG. 4,representing the block structures.

Then, at operation block 510, a determination may be made with respectto whether any operation condition of the operation rule is met. If not,process 500 may proceed to operation block 512, where it may pause foran amount of time, and return to operation block 508 again to determinethe block structure state(s) again, and proceed therefrom as earlierdescribed.

Eventually, if is determined at operation block 510 that one of theoperation condition of the cooperation rule is met, process 500 mayproceed to operation block 514. At operation block 514, operationcommands may be sent to the robot to cause the robot to perform theoperations relative to the block structure(s). In alternate embodiments,where the robot is endowed with the logic to infer the operations to beperformed relative to certain state(s) of the block structure(s), thestate information of the block structure(s) (in lieu of the specificoperation commands) may be sent to the robot instead. On transmission ofthe specific operation commands or the state information of the blockstructure(s), process 500 may end.

However, in alternate embodiments, e.g., embodiments where only aninitial set of commands may be sent to the robot, process 500 mayproceed to operation block 516 instead. At operation block 516, feedbackmay be received from robot with respect to its state and/or operatingconditions. On receipt of the feedback, process 500 may return tooperation block 514, where additional operation commands may be sent torobot to cause robot to perform additional operations or modify itsoperations to be performed relative to the block structure(s). For theseembodiments, the operations at operation block 514 and 516 may berepeated any number of times before process 500 ends.

Referring now to FIG. 7, wherein an example process for operating arobot, according to various embodiments, is illustrated. As shown,process 700 for operating a robot, may include operations at operationblocks 702-712. Process 700 may be performed e.g., by control module 136of FIG. 1. In alternate embodiments, process 700 may include more orless operations, or with the operations performed in different order.

Process 700 may start at operation blocks 702 or 706. At operation block702, state information about block structure(S) may be received. Next atoperation block 704, the operations to be performed relative to theblock structure(s), in view of the state(s), may be determined. Atoperation block 706, the operation commands themselves may be received.

From either operation block 704 or 706, process 700 may proceed tooperation block 708. At operation block 708, the actuators may becontrolled with respect to their operation of the features of the robot,in accordance with the received/determined operation commands.

Next, at operation block 710, sensor data may be received and analyzed.From operation block 710, process 700 may return to operations block708, and adjust controlling of the actuators, in view of the sensor datareceived. The operations at operation blocks 708 and 710 may be repeateda number of times, as long as robot is in operation. Eventually, fromoperation block 710, process 700 may end.

In alternate embodiments, from block 710, process 700 may proceed tooperation block 712. At operation block 712, feedback, such as, sensordata received from the sensors, may be provided to the cooperating blockstructure. On provision of the feedback, process 700 may proceed tooperation block 706 to receive new/modified operation commands from theblock structure, and proceed therefrom as earlier described.

The various example block structure, robot, their cooperation used inthe above description are meant to be illustrative and not limiting.Those skilled in the art will appreciate from the foregoing descriptionthat the block structure-robot cooperation technology of the presentdisclosure may be practiced with a wide range of block structures androbots, performing a wide range of cooperation. For example, multipleblock structures (such as landing pads) incorporated with the teachingsof the present disclosure may be built to compete to attract robots(such as, drones) incorporated with the complementary teachings of thepresent disclosure to visit (land on) the block structures. As describedearlier, robotics in an assembly line may be caused to behavedifferently based on components included in a product being assembled,including the manner/order the components were included.

FIG. 8 illustrates an example computing device incorporated with theblock structure and robot cooperation technology of the presentdisclosure. As shown, computing device 800 may include one or moreprocessors or processor cores 802, and system memory 804. For thepurpose of this application, including the claims, the term “processor”refers to physical processors, and the terms “processor” and “processorcores” may be considered synonymous, unless the context clearly requiresotherwise. Additionally, disposed thereon may be input/output deviceinterfaces 808 (for interfacing with I/O devices such as display,keyboard, cursor control and so forth) and communication interfaces 810for communication devices (such as network interface cards, modems andso forth). The elements may be coupled to each other via system bus 812,which may represent one or more buses. In the case of multiple buses,they may be bridged by one or more bus bridges (not shown).Additionally, when used as proximally located portable computing deviceor a cloud computing server to host the cooperation rule database,computer 800 may include mass storage devices 806 (such as diskette,hard drive, compact disc read only memory (CD-ROM) and so forth).

Each of these elements may perform its conventional functions known inthe art. System memory 804 and mass storage devices 806 may be employedto store a working copy and a permanent copy of the programminginstructions implementing an operating system and various applications,in particular, the operating logic for base block 112 and/or robot 104,collectively referred to as computational logic 822. Computational logic822 may be implemented by assembler instructions supported byprocessor(s) 802 or high-level languages, such as, for example, C, thatcan be compiled into such instructions.

The number, capability and/or capacity of these elements 810-812 mayvary, depending on whether computing device 800 is used within a baseblock 112, with a robot 104, or a proximally located/remotely disposeddevice to host the cooperation rule database. Otherwise, theconstitutions of elements 810-812 are known, and accordingly will not befurther described.

FIG. 11 illustrates an example computer-readable non-transitory storagemedium that may be suitable for use to store instructions that cause anapparatus, in response to execution of the instructions by theapparatus, to practice selected aspects of the present disclosure. Asshown, non-transitory computer-readable storage medium 902 may include anumber of programming instructions 904. Programming instructions 904 maybe configured to enable a computing device, e.g., computing device 800,in response to execution of the programming instructions, to perform,e.g., various operations associated with base block 112 and/or robot104, described with references to FIGS. 1-7. In alternate embodiments,programming instructions 904 may be disposed on multiplecomputer-readable non-transitory storage media 902 instead. In alternateembodiments, programming instructions 904 may be disposed oncomputer-readable transitory storage media 902, such as, signals.

Referring back to FIG. 8, for one embodiment, at least one of processors802 may be packaged together with memory having computational logic 822(in lieu of storing on memory 804 and storage 806). For one embodiment,at least one of processors 802 may be packaged together with memoryhaving computational logic 822 to form a System in Package (SiP). Forone embodiment, at least one of processors 802 may be integrated on thesame die with memory having computational logic 822. For one embodiment,at least one of processors 802 may be packaged together with memoryhaving computational logic 822 to form a System on Chip (SoC).

Thus various example embodiments of the present disclosure have beendescribed including, but are not limited to:

Example 1 may be a block apparatus, comprising: one or more processorsand memory; a block structure-robot coordination module disposed in thememory and to be operated by the one or more processors to cooperatewith one or more robots to affect operations of the one or more robotsrelative to at least a block structure which the block apparatus is amember; and a housing that houses the one or more processors, thememory, and the block structure-robot coordination module, with featuresto mate the block apparatus with one or more other blocks to cause theblock apparatus to become a member of the block structure.

Example 2 may be example 1, wherein to cooperate with one or more robotsto affect operations of the one or more robots relative to the blockstructure, the block structure-robot coordination module may access ablock structure-robot cooperation rules database for one or more blockstructure-robot cooperation rules for the one or more robots, based atleast in part on a state of the block structure.

Example 3 may be example 2, further comprising the block structure-robotcooperation rules database having a plurality of block structure-robotcooperation rules for a plurality of robots, based at least in part onthe state of the block structure.

Example 4 may be example 3, further comprising a communicative interfaceto facilitate update of the plurality of block structure-robotcooperation rules for the plurality of robots.

Example 5 may be example 3, wherein the block structure-robotcooperation rules database may be remotely disposed; and wherein theblock apparatus may further comprise a communication interface tofacilitate the block structure-robot coordination module in accessingthe remotely disposed block structure-robot cooperation rules databasefor the one or more block structure-robot cooperation rules for the oneor more robots.

Example 6 may be example 5, wherein the block structure-robotcooperation rules database may be remotely disposed on a proximallylocated portable computing device.

Example 7 may be example 5, wherein the block structure-robotcooperation rules database may be remotely disposed on a cloud computingserver.

Example 8 may be example 7, wherein the communication interface mayfacilitate the block structure-robot coordination module in accessingthe remotely disposed block structure-robot cooperation rules databasevia a proximally located portable computing device.

Example 9 may be example 2, wherein the state of the block structure mayinclude identifications of the block members of the block structure, andmating manner or order of the block members.

Example 10 may be example 2, wherein the block structure-robotcoordination module may further determine the state of the blockstructure.

Example 11 may be example 10, wherein the block structure-robotcoordination module may further traverse a data structure withinformation about member blocks of the block structure to determine thestate of the block structure.

Example 12 may be example 11, further comprising a communicationinterface to facilitate the block structure-robot coordination module toreceive information from other blocks of the block structure to maintainthe data structure with information about member blocks of the blockstructure.

Example 13 may be example 11, further comprising a communicationinterface to facilitate the block structure-robot coordination module toreceive one or more images of the block structure; and an imagerecognition module to analyze the one or more images to extract andprovide information related to member blocks of the block structure tomaintain the data structure with information about member blocks of theblock structure.

Example 14 may be example 2, further comprising a communicationinterface; and the block structure-robot coordination module may furthertransmit to the one or more robots, via the communication interface, thestate of the block structure or one or more operation commands, inaccordance with the one or more block structure-robot cooperation rulesfor the one or more robots.

Example 15 may be example 14, wherein the block structure-robotcoordination module may further receive feedback from the one or morerobots, via the communication interface, and transmit to the one or morerobots, via the communication interface, one or more additionaloperation commands, based further on the feedback.

Example 16 may be example 1, wherein the block apparatus is a base blockof the block structure.

Example 17 may be any one of examples 1-16, wherein the block structuremay be a first block structure, and wherein the block structure-robotcoordination module may cooperate with the one or more robots to affectoperations of the one or more robots relative to the first blockstructure and at least a second block structure.

Example 18 may be a method, comprising: pairing, by a block apparatus,with a robot; and cooperating, by the block apparatus, with the robot toaffect operations of the robot relative to at least a block structurewhich the block apparatus is a member.

Example 19 may be example 18, wherein cooperating may comprise accessinga locally, proximally or remotely disposed block structure-robotcooperation rules database for one or more block structure-robotcooperation rules for the one or more robots, based at least in part ona state of the block structure.

Example 20 may be example 19, wherein block structure-robot cooperationrules database is locally disposed, and the method may further compriseupdating, by the block apparatus, the plurality of block structure-robotcooperation rules for the plurality of robots in the locally disposedblock structure-robot cooperation rules database.

Example 21 may be example 18, wherein the state of the block structuremay include identifications of the block members of the block structure,and mating manner or order of the block members.

Example 22 may be example 18, further comprising determining, by theblock apparatus, the state of the block structure.

Example 23 may be example 22, wherein determining may comprisetraversing a data structure with information about member blocks of theblock structure.

Example 24 may be example 18, further comprising receiving, by the blockapparatus, information from other blocks of the block structure tomaintain the data structure with information about member blocks of theblock structure.

Example 25 may be example 18, further comprising receiving, by the blockapparatus, one or more images of the block structure; and an imagerecognition module to analyze the one or more images to extract andprovide information related to member blocks of the block structure tomaintain the data structure with information about member blocks of theblock structure.

Example 26 may be example 19, further comprising transmitting, by theblock apparatus, to the one or more robots, the state of the blockstructure or one or more operation commands, in accordance with the oneor more block structure-robot cooperation rules for the one or morerobots.

Example 27 may be example 26, further comprising receiving, by the blockapparatus, feedback from the one or more robots, and transmitting to theone or more robots, one or more additional operation commands, basedfurther on the feedback.

Example 28 may be example 18-27, wherein the block apparatus is a firstblock apparatus, and wherein cooperating comprises cooperating with theone or more robots to affect operations of the one or more robotsrelative to the first block apparatus and at least a second blockapparatus.

Example 29 may be one or more computer-readable media comprisinginstructions that cause a block apparatus, in response to execution ofthe instructions by a processor of the block apparatus, to: pair a robotwith the block apparatus; and cooperate with the robot to affectoperations of the robot relative to at least a block structure which theblock apparatus is a member.

Example 30 may be example 29, wherein to cooperate with one or morerobots to affect operations of the one or more robots relative to theblock structure, may comprise to access a locally, proximally orremotely disposed block structure-robot cooperation rules database forone or more block structure-robot cooperation rules for the one or morerobots, based at least in part on a state of the block structure.

Example 31 may be example 30, wherein the block structure-robotcooperation rules database is locally disposed, and the block apparatusmay be further caused to update of the plurality of blockstructure-robot cooperation rules for the plurality of robots.

Example 32 may be example 30, wherein the state of the block structuremay include identifications of the block members of the block structure,and mating manner or order of the block members.

Example 33 may be example 30, wherein the block apparatus may be furthercaused to determine the state of the block structure.

Example 34 may be example 33, wherein the block apparatus may be furthercaused to traverse a data structure with information about member blocksof the block structure to determine the state of the block structure.

Example 35 may be example 34, wherein the block apparatus may be furthercaused to receive information from other blocks of the block structureto maintain the data structure with information about member blocks ofthe block structure.

Example 36 may be example 34, wherein the block apparatus may be furthercaused to receive one or more images of the block structure; and toextract and provide information related to member blocks of the blockstructure to maintain the data structure with information about memberblocks of the block structure.

Example 37 may be example 30, wherein the block apparatus may be furthercaused to transmit to the one or more robots, the state of the blockstructure or one or more operation commands, in accordance with the oneor more block structure-robot cooperation rules for the one or morerobots.

Example 38 may be example 37, wherein the block apparatus may be furthercaused to receive feedback from the one or more robots, and transmit tothe one or more robots, via the communication interface, one or moreadditional operation commands, based further on the feedback.

Example 39 may be example 29-38, wherein the block apparatus may be afirst block apparatus, and wherein the block apparatus may cooperatewith the one or more robots to affect operations of the one or morerobots relative to the first block apparatus and at least a second blockapparatus.

Example 40 may be a block apparatus, comprising: means for pairing witha robot; and means for cooperating with the robot to affect operationsof the robot relative to at least a block structure which the blockapparatus is a member.

Example 41 may be example 40, wherein means for cooperating may comprisemeans for accessing a locally, proximally or remotely disposed blockstructure-robot cooperation rules database for one or more blockstructure-robot cooperation rules for the one or more robots, based atleast in part on a state of the block structure.

Example 42 may be example 41, wherein block structure-robot cooperationrules database is locally disposed, and the block apparatus may furthercomprise means for updating the plurality of block structure-robotcooperation rules for the plurality of robots in the locally disposedblock structure-robot cooperation rules database.

Example 43 may be example 40, wherein the state of the block structuremay include identifications of the block members of the block structure,and mating manner or order of the block members.

Example 44 may be example 40, further comprising means for determiningthe state of the block structure.

Example 45 may be example 44, wherein means for determining may comprisemeans for traversing a data structure with information about memberblocks of the block structure.

Example 46 may be example 40, further comprising means for receivinginformation from other blocks of the block structure to maintain thedata structure with information about member blocks of the blockstructure.

Example 47 may be example 40, further comprising means for receiving oneor more images of the block structure; and means for analyzing the oneor more images to extract and provide information related to memberblocks of the block structure to maintain the data structure withinformation about member blocks of the block structure.

Example 48 may be example 41, further comprising means for transmittingto the one or more robots, the state of the block structure or one ormore operation commands, in accordance with the one or more blockstructure-robot cooperation rules for the one or more robots.

Example 49 may be example 48, further comprising means for receiving,feedback from the one or more robots, and transmitting to the one ormore robots, one or more additional operation commands, based further onthe feedback.

Example 50 may be any one of examples 40-49, wherein the block apparatusmay be a first block apparatus, and wherein means for cooperating maycomprise means for cooperating with the one or more robots to affectoperations of the one or more robots relative to the first blockapparatus and at least a second block apparatus.

Example 51 may be a robot, comprising: a plurality of actuators operatea plurality of features of the robot; a communication interface toreceive from a block structure one or more operation commands inassociation with performance of one or more operations relative to theblock structure; and a control module coupled with the plurality ofactuators and the communication interface to control the actuators tooperate the features to perform the one or more operations relative tothe block structure.

Example 52 may be example 51, wherein the communication interface mayreceive state information of the block structure instead of the one ormore commands, and the control module may determine the one or morecommands, based at least in part of the state information.

Example 53 may be example 51 further comprising a plurality of sensors;and the control module may control the actuators based further on sensordata output by the plurality of sensors.

Example 54 may be example 51 further comprising a plurality of sensorsincluding a camera; and the control module may provide images capturedby the camera to the block structure.

Example 55 may be any one of examples 51-54 wherein the control modulemay further provide, via the communication interface, feedback to theblock structure, and receive, via the communication interface,additional operation commands from the block structure provided in viewof the feedback.

Example 56 may be a method, comprising: receiving, by a robot, from ablock structure, one or more operation commands in association withperforming one or more operations relative to the block structure; andcontrolling, by the robot, a plurality of actuators of the robot tooperate a number of features of the robot to perform the one or moreoperations relative to the block structure.

Example 57 may be example 56, wherein receiving may comprise receivingstate information of the block structure instead of the one or morecommands, and the method may further comprise determining the one ormore commands, based at least in part of the state information.

Example 58 may be example 56 further comprising sensing with a pluralityof sensors of the robot; and controlling comprises controlling theactuators based further on sensor data output by the plurality ofsensors.

Example 59 may be example 56 further comprising capturing one or moreimages and providing the one or more images to the block structure.

Example 60 may be any one of examples 56-59, further comprisingproviding feedback to the block structure, and receiving additionaloperation commands from the block structure provided in view of thefeedback.

Example 61 may be one or more computer-readable media comprisinginstructions that cause a robot, in response to execution of theinstructions by a processor of the robot, to: receive, from a blockstructure, one or more operation commands in association withperformance of one or more operations relative to the block structure;and control a plurality of actuators of the robot to operate a number offeatures of the robot to perform the one or more operations relative tothe block structure.

Example 62 may be example 61, wherein the robot may be further caused toreceive state information of the block structure instead of the one ormore commands, and determine the one or more commands, based at least inpart of the state information.

Example 63 may be example 61, wherein the robot may be further caused tosense with a plurality of sensors; and control the actuators basedfurther on sensor data output by the plurality of sensors.

Example 64 may be example 61, wherein the robot may be further caused tocapture one or more images; and provide the one or more images to theblock structure.

Example 65 may be example 61-64 wherein the robot may be further causedto provide feedback to the block structure, and receive additionaloperation commands from the block structure provided in view of thefeedback.

Example 66 may be a robot apparatus, comprising: means for receiving, bya robot, from a block structure, one or more operation commands inassociation with performance of one or more operations relative to theblock structure; and means for controlling a plurality of actuators ofthe robot apparatus to operate a number of features of the robot toperform the one or more operations relative to the block structure.

Example 67 may be example 66, wherein means for receiving may comprisemeans for receiving state information of the block structure instead ofthe one or more commands, and the robot apparatus may further comprisemeans for determining the one or more commands, based at least in partof the state information.

Example 68 may be example 66 further comprising means for sensing; andmeans for controlling comprises means for controlling the actuatorsbased further on sensor data output by the means for sensing.

Example 69 may be example 66 further comprising means for capturing oneor more images and providing the one or more images to the blockstructure.

Example 62 may be any one of examples 66-69, further comprising meansfor providing feedback to the block structure, and the means forreceiving is further for receiving additional operation commands fromthe block structure provided in view of the feedback.

It will be apparent to those skilled in the art that variousmodifications and variations can be made in the disclosed embodiments ofthe disclosed device and associated methods without departing from thespirit or scope of the disclosure. Thus, it is intended that the presentdisclosure covers the modifications and variations of the embodimentsdisclosed above provided that the modifications and variations comewithin the scope of any claims and their equivalents.

What is claimed is:
 1. A block apparatus, comprising: one or moreprocessors and memory; a block structure-robot coordination moduledisposed in the memory and to be operated by the one or more processorsto cooperate with one or more robots to affect operations of the one ormore robots relative to at least a block structure which the blockapparatus is a member; and a housing that houses the one or moreprocessors, the memory, and the block structure-robot coordinationmodule, with features to mate the block apparatus with one or more otherblocks to cause the block apparatus to become a member of the blockstructure.
 2. The block apparatus of claim 1, wherein to cooperate withone or more robots to affect operations of the one or more robotsrelative to the block structure, the block structure-robot coordinationmodule is to access a block structure-robot cooperation rules databasefor one or more block structure-robot cooperation rules for the one ormore robots, based at least in part on a state of the block structure.3. The block apparatus of claim 2, further comprising the blockstructure-robot cooperation rules database having a plurality of blockstructure-robot cooperation rules for a plurality of robots, based atleast in part on the state of the block structure.
 4. The blockapparatus of claim 3, further comprising a communicative interface tofacilitate update of the plurality of block structure-robot cooperationrules for the plurality of robots.
 5. The block apparatus of claim 3,wherein the block structure-robot cooperation rules database is remotelydisposed; and wherein the block apparatus further comprises acommunication interface to facilitate the block structure-robotcoordination module in accessing the remotely disposed blockstructure-robot cooperation rules database for the one or more blockstructure-robot cooperation rules for the one or more robots.
 6. Theblock apparatus of claim 5, wherein the block structure-robotcooperation rules database is remotely disposed on a proximally locatedportable computing device or on a cloud computing server.
 7. The blockapparatus of claim 2, wherein the state of the block structure includesidentifications of the block members of the block structure, and matingmanner or order of the block members.
 8. The block apparatus of claim 2,wherein the block structure-robot coordination module is to furtherdetermine the state of the block structure.
 9. The block apparatus ofclaim 8, wherein the block structure-robot coordination module is tofurther traverse a data structure with information about member blocksof the block structure to determine the state of the block structure.10. The block apparatus of claim 9, further comprising a communicationinterface to facilitate the block structure-robot coordination module toreceive information from other blocks of the block structure to maintainthe data structure with information about member blocks of the blockstructure.
 11. The block apparatus of claim 9, further comprising acommunication interface to facilitate the block structure-robotcoordination module to receive one or more images of the blockstructure; and an image recognition module to analyze the one or moreimages to extract and provide information related to member blocks ofthe block structure to maintain the data structure with informationabout member blocks of the block structure.
 12. The block apparatus ofclaim 2, further comprising a communication interface; and the blockstructure-robot coordination module is to further transmit to the one ormore robots, via the communication interface, the state of the blockstructure or one or more operation commands, in accordance with the oneor more block structure-robot cooperation rules for the one or morerobots; and wherein the block structure-robot coordination module is tofurther receive feedback from the one or more robots, via thecommunication interface, and transmit to the one or more robots, via thecommunication interface, one or more additional operation commands,based further on the feedback.
 13. The block apparatus of claim 1,wherein the block apparatus is a base block of the block structure. 14.The block apparatus of claim 1, wherein the block structure is a firstblock structure, and wherein the block structure-robot coordinationmodule is to cooperate with the one or more robots to affect operationsof the one or more robots relative to the first block structure and atleast a second block structure.
 15. One or more computer-readable mediacomprising instructions that cause a block apparatus, in response toexecution of the instructions by a processor of the block apparatus, to:pair a robot with the block apparatus; and cooperate with the robot toaffect operations of the robot relative to at least a block structurewhich the block apparatus is a member.
 16. The computer-readable mediaof claim 15, wherein to cooperate with one or more robots to affectoperations of the one or more robots relative to the block structure,comprises to access a locally, proximally or remotely disposed blockstructure-robot cooperation rules database for one or more blockstructure-robot cooperation rules for the one or more robots, based atleast in part on a state of the block structure.
 17. Thecomputer-readable media of claim 16, wherein the state of the blockstructure includes identifications of the block members of the blockstructure, and mating manner or order of the block members; and whereinthe block apparatus is further caused to determine the state of theblock structure.
 18. The computer-readable media of claim 16, whereinthe block apparatus is further caused to receive one or more images ofthe block structure; and to extract and provide information related tomember blocks of the block structure to maintain the data structure withinformation about member blocks of the block structure.
 19. Thecomputer-readable media of claim 16, wherein the block apparatus isfurther caused to transmit to the one or more robots, the state of theblock structure or one or more operation commands, in accordance withthe one or more block structure-robot cooperation rules for the one ormore robots; to receive feedback from the one or more robots, and totransmit to the one or more robots, via the communication interface, oneor more additional operation commands, based further on the feedback.20. The computer-readable media of claim 15, wherein the block apparatusis a first block apparatus, and wherein the block apparatus is tocooperate with the one or more robots to affect operations of the one ormore robots relative to the first block apparatus and at least a secondblock apparatus.
 21. A robot, comprising: a plurality of actuatorsoperate a plurality of features of the robot; a communication interfaceto receive from a block structure one or more operation commands inassociation with performance of one or more operations relative to theblock structure; and a control module coupled with the plurality ofactuators and the communication interface to control the actuators tooperate the features to perform the one or more operations relative tothe block structure.
 22. The robot of claim 21, wherein thecommunication interface is to receive state information of the blockstructure instead of the one or more commands, and the control module isto determine the one or more commands, based at least in part of thestate information.
 23. The robot of claim 21 further comprising aplurality of sensors including a camera; and the control module is tocontrol the actuators based further on sensor data output by at leastsome of the plurality of sensors, provide images captured by the camerato the block structure, provide via the communication interface,feedback to the block structure, and receive, via the communicationinterface, additional operation commands from the block structureprovided in view of the feedback.
 24. One or more computer-readablemedia comprising instructions that cause a robot, in response toexecution of the instructions by a processor of the robot, to: receive,from a block structure, one or more operation commands in associationwith performance of one or more operations relative to the blockstructure; and control a plurality of actuators of the robot to operatea number of features of the robot perform the one or more operationsrelative to the block structure.
 25. The one or more computer-readablemedia of claim 24, wherein the robot is further caused to receive stateinformation of the block structure instead of the one or more commands,and determine the one or more commands, based at least in part of thestate information; sense with a plurality of sensors; and control theactuators based further on sensor data output by the plurality ofsensors; capture one or more images; and provide the one or more imagesto the block structure; or provide feedback to the block structure, andreceive additional operation commands from the block structure providedin view of the feedback.